package com.shark.uh.model.dto.auth;

import com.shark.uh.annotation.Password;
import lombok.Data;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 用户注册（邮箱）数据传输对象
 */
@Data
public class RegisterDTO {
    /**
     * 邮箱
     */
    @NotBlank
    @Email
    private String email;

    /**
     * 至少一个大写字母。
     * 至少一个小写字母。
     * 至少一个数字。
     * 至少一个特殊字符（@$!%*?&）。
     * 总长度为 8~64
     */
    @NotBlank
    @Password
    private String password;

    /**
     * 再次确认的密码
     */
    @NotBlank
    @Password
    private String rePassword;

    /**
     * 验证码ID
     */
    @NotBlank
    private String codeId;

    /**
     * 验证码
     */
    @NotBlank
    @Size(min = 4, max = 6)
    private String code;

}
